#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QVector>
#include  "glwidget.h"

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
    void add_object();
    void subdivide();
    void objects_list_menu(const QPoint & pos);
    void hide_object();
    void show_object();
    void delete_object();
    void update_obj_properties();
    void update_properties_panel();
    void update_selected_indexes(int type);
    void update_transformations();
    void update_transformations_panel();
    void connect_slots();
private:
    void setup_actions();
    void update_viewports();
    void setup_viewports();
    Ui::MainWindow *ui;
    Scene *m_scene;
    QVector<GLWidget*> m_viewports;
    int m_selected_object;
    int m_list_position;
    //Object type, 0 = Common object, 1 = Octree
    int m_selected_type;    
};

#endif // MAINWINDOW_H
